package org.example.utils;

import lombok.Data;

import java.math.BigDecimal;

/**
 * ClassName: LoginUserResponseData
 * Description:
 *
 * @Author Kotaro
 * @Create 2024/11/29 18:28
 * @Version 1.0
 */
@Data
public class LoginUserResponseData {
    //这是所有用户共有的属性
    private String userId;
    private String password;
    private String userType;
    private String token;
    private Integer age;


    //老人属性
    private String elderlyName;           //家属名称
    private String gender;                // `gender`
    private Integer location;                 // `location`
    private String residence;             // `residence`
    private String contactNumber;         // `contact_number`
    private Boolean selfCare;             // `self_care`
    private Boolean isLivingAlone;        // `is_living_alone`
    private String familyId;              // `family_id`
    private String familyContactNumber;   // `family_contact_number`
    private BigDecimal height;            // `height`
    private BigDecimal weight;            // `weight`
    private String bloodPressure;         // `blood_pressure`
    private BigDecimal bloodGlucose;            // `blood_glucose`
    private String disease;               // `disease`
    private String remarks;               // `remarks`
    private Integer helpRequestsCount;    // `help_requests_count`

    //社区属性
    private String communityAddress;       // `community_address`
    private String communityContactNumber; // `community_contact_number`
    private String contactEmail;           // `contact_email`
    private String communityName;          // `community_name`

    //志愿者属性
    private String volunteerName;          // `volunteer_name`
    private String community;              // `community`
    private Integer volunteerHours;            // `volunteer_hours`
    private Integer completedTasks;            // `completed_tasks`
    private Boolean rating;                // `rating` (1: true, 0: false)
    private String affiliatedOrganization; // `affiliated_organization`

    //家属属性
    private String familyName;      //家属名称
    private String linkedElder1;    // `linked_elder_1`
    private String linkedElder2;    // `linked_elder_2`
    private String linkedElder3;    // `linked_elder_3`
    private String linkedElder4;    // `linked_elder_4`

    public LoginUserResponseData(){

    }

    public LoginUserResponseData(String userId, Integer age , String password, String elderlyName, String gender, Integer location, String residence, String contactNumber, Boolean selfCare, Boolean isLivingAlone, String familyId, String familyContactNumber, BigDecimal height, BigDecimal weight, String bloodPressure, BigDecimal bloodGlucose, String disease, String remarks, Integer helpRequestsCount, String communityAddress, String communityContactNumber, String contactEmail, String communityName, String volunteerName, String community, Integer volunteerHours, Integer completedTasks, Boolean rating, String affiliatedOrganization, String familyName, String linkedElder1, String linkedElder2, String linkedElder3, String linkedElder4) {
        this.userId = userId;
        this.age = age;
        this.password = password;
        this.elderlyName = elderlyName;
        this.gender = gender;
        this.location = location;
        this.residence = residence;
        this.contactNumber = contactNumber;
        this.selfCare = selfCare;
        this.isLivingAlone = isLivingAlone;
        this.familyId = familyId;
        this.familyContactNumber = familyContactNumber;
        this.height = height;
        this.weight = weight;
        this.bloodPressure = bloodPressure;
        this.bloodGlucose = bloodGlucose;
        this.disease = disease;
        this.remarks = remarks;
        this.helpRequestsCount = helpRequestsCount;
        this.communityAddress = communityAddress;
        this.communityContactNumber = communityContactNumber;
        this.contactEmail = contactEmail;
        this.communityName = communityName;
        this.volunteerName = volunteerName;
        this.community = community;
        this.volunteerHours = volunteerHours;
        this.completedTasks = completedTasks;
        this.rating = rating;
        this.affiliatedOrganization = affiliatedOrganization;
        this.familyName = familyName;
        this.linkedElder1 = linkedElder1;
        this.linkedElder2 = linkedElder2;
        this.linkedElder3 = linkedElder3;
        this.linkedElder4 = linkedElder4;
    }
}
